7

iphone微信6.7.4版本出现的问题,用户输入时,软键盘弹出。收起软键盘的时候,页面下部软键盘原来位置会变成一片空白区域,页面没有恢复原状。

var n = document.querySelectorAll('input,textarea');
Array.prototype.forEach.call(n, function(dom) {        
    var pageDom = 5;
    dom.onblur = function() {
        document.body.scrollTop = ++pageDom;
    };
});

实现原理:出现上述情况,手动下拉页面,页面会恢复正常。


所以,在input的blur事件中监听软键盘收起,js模拟手动下拉。
前提,body本身没有滚动。
滚动距离要动态的,多个input时相同scrollTop会失败,相当于没有滚动.


肥皂泡
382 声望6 粉丝

码农